package TokensDelLenguaje;

import PolacaInversa.Registro;
import java.util.ArrayList;

public class Token_Punto extends Token_Operador {
    
    public Token_Punto (){
        super(Tokens.punto);
    }
    
    @Override
    public String toString(){
        return ("[ "+"'.'"+" ]");
    }
    
    @Override
    public ArrayList traducir_assembler(Token o1, Token o2, Registro reg){
        //ArrayList list = super.traducir_assembler(o1, o2, reg);
        ArrayList l = new ArrayList();
        String s = "MOV eax, OFFSET " + o2.getNombre() + "\n";
        s += "ADD eax, " + ((Token_Struct)o2).getOffset(o1) + "\n";
        s += "MOV ESI, eax \n";
        s += "MOV " + reg.nombre + ", [ESI]\n";
        l.add(true);
        l.add(s);
        return l;
    }
}
